Predictive Model for Credit Approval

O objetivo deste desafio é criar um modelo preditivo calculando a probabilidade de inadimplência de cada novo pedido de crédito.

Features Description

Data Exploration

Vamos compreender melhor a distribuição dos dados, encontrar outliers e valores inconsistentes.

Histograms

Box plot

Correlation Matrices

Data Cleaning

Após a limpeza é possível ver uma maior representatividade dos dados

Feature Engineering

Predictive Model

Split Dataset

Train Model

$Precision = TP/(TP+FP)$

$Recall = TP/(TP+FN)$

$F1 Score = (2*Precision*Recall)/(Precision+Recall)$

$Accuracy = (TP+TN) / (TP+TN+FP+FN)$

Observando a precisão vemos que o KNN não identificou nenhuma inadinplencia corretamente, possuindo o menor score.

Já o modelo de Logistic Regression e XGBoost possuem um desenpenho semelhante, conseguindo reconhecer corretamente eventos com inadinplencia, possuem score maior que seu base line.

ROC analysis

Vamos agora observar a ROC, que é uma curva de probabilidade com Taxa de Falso Positivo (FPR) no eixo x e a Taxa de Verdadeiro Positivo (TPR) no eixo y.

O melhor modelo deve maximizar o TPR para 1 e minimizar o FPR para 0. Com isso, podemos comparar os classificadores usando a área sob a curva da curva ROC, onde quanto maior seu valor, melhor será o modelo em prever 0s como 0s e 1s como 1s.

Podemos ver que o XGBoost tem melhor desempenho, é o melhor classificador na distinção entre inadinplentes e não inadinplentes

Reliability Analysis

Até agora, vimos a capacidade de cada modelo de prever "labels", agora avaliaremos seu desempenho ao prever a probabilidade da amostra pertencer à classe positiva, ou seja, probabilidade de inadimplência.

Dado que o Brier Score é uma função de custo, um Brier Score inferior indica uma previsão mais precisa.

Em que Ft é a probabilidade prevista, Ot o resultado real do evento na instância temos o mean square error da previsão.

Esta formulação é usada principalmente para eventos binários (por exemplo, "inadinplencia" ou "sem inadinplencia").

Mais uma vez vemos que XGBoost apresenta o menor Brier Score, indicando uma maior precisão do modelo.

Desta forma, é possível concluir que nosso modelo está bem calibrado para predição de probabilidade, o que significa que as probabilidades preditas se aproximam da distribuição esperada de probabilidades para cada classe.

Finalmente vamos tratar o banco "teste" e aplicar o modelo preditivo vencedor.

Curiosidade

Por curiosidade vemos a análise sobre relevância de cada atributo na classificação de inadiplência

Referencias